package io;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
/**
 * 向文件中写入文本数据
 */
public class WriteStringDemo {
    public static void main(String[] args) throws IOException {
        /*
          FileOutputStream构造方法的第2个参数表示文件的使用方式，为boolean类型
          若为true则表示为追加模式，若为false则表示为覆盖模式。默认为false
         */
        FileOutputStream fos = new FileOutputStream("test.txt");
        //FileOutputStream fos = new FileOutputStream("test.txt",true); //追加模式

        String line = "写信告诉我今天海是什么颜色 夜夜陪着你的海心情又如何 ";
        /*
          String提供了一个方法可以将一个字符串转换为一组字节
          byte[] getBytes():无参构造方法，默认使用平台默认的字符集，不推荐，因为可能会存在跨平台问题
          byte[] getBytes(Charset cn):使用参数字符集ch---软件、网络中传输出都用UTF-8

          UTF-8编码: 在unicode的传输格式基础之上添加了长度信息
          注意:英文、符号这类字符，还是一个字节(ASCII)
              日文、韩语、泰文等，需要两个字节(Unicode)
              中文，需要3个字节
         */
        byte[] data = line.getBytes(StandardCharsets.UTF_8);
        fos.write(data);
        line = "灰色是不想说 蓝色是犹豫";
        data = line.getBytes(StandardCharsets.UTF_8);
        fos.write(data);

        System.out.println("写出完毕");
        fos.close();
    }
}
















